package com.zijiebutiao.utils;


import io.jsonwebtoken.*;

import java.util.Date;
import java.util.Map;

public class JwtUtils {
    private  static    String secretKey="#$%#java2207$#%";
    public static String createToken(Map<String,Object> body, int minutes){
        String token=null;
        //过期时间 10分钟
//        new Date().getTime()弃用改为 System.currentTimeMillis()
        Date date=new Date(System.currentTimeMillis()+1000*60*minutes);
        JwtBuilder jwtBuilder= Jwts.builder();
        //设置过期时间
        jwtBuilder.setExpiration(date);
        jwtBuilder.addClaims(body);
        // 设置签名
        jwtBuilder.signWith(SignatureAlgorithm.HS256,secretKey);
        // 生成token （令牌）
         token= jwtBuilder.compact();
        return  token;
    }
    public static Claims verifyToken(String token)throws ExpiredJwtException, UnsupportedJwtException, MalformedJwtException, SignatureException, IllegalArgumentException{
        return Jwts.parser().setSigningKey(secretKey).parseClaimsJws(token).getBody();
    }

}
